package com.vcc.service.service;

import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;
import com.vcc.data.entity.UserRate;
import com.vcc.service.boss.request.rate.CreateUserRateDto;
import com.vcc.service.boss.request.rate.UpdateUserRateDto;

import java.math.BigDecimal;

public interface UserRateService extends IService<UserRate> {

    UserRate getById(Long id);

    UserRate getByUserId(Long userId);

    BigDecimal getAuthRateByUserId(Long userId);

    BigDecimal getWithdrawRateById(Long userId);

    Long countByRateId(Long rateId);

    Page<UserRate> paging(Page<UserRate> pageable, Long userId, Long rateId);

    UserRate createUserRate(CreateUserRateDto createUserRateDto);

    Boolean batchUpdateUserRate(UpdateUserRateDto updateUserRateDto);

    Boolean userInit(Long userId);
}